package com.skzh.system.mapper;

import com.skzh.system.domain.BaseAttach;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 附件存储Mapper接口
 *
 * @author wenlinchuan
 * @date 2024-06-20
 */
public interface BaseAttachMapper {
    /**
     * 查询附件存储
     *
     * @param attachId 附件存储主键
     * @return 附件存储
     */
    public BaseAttach selectBaseAttachByAttachId(Long attachId);

    /**
     * 查询附件存储列表
     *
     * @param baseAttach 附件存储
     * @return 附件存储集合
     */
    public List<BaseAttach> selectBaseAttachList(BaseAttach baseAttach);

    /**
     * 新增附件存储
     *
     * @param baseAttach 附件存储
     * @return 结果
     */
    public int insertBaseAttach(BaseAttach baseAttach);

    /**
     * 修改附件存储
     *
     * @param baseAttach 附件存储
     * @return 结果
     */
    public int updateBaseAttach(BaseAttach baseAttach);

    /**
     * 删除附件存储
     *
     * @param attachId 附件存储主键
     * @return 结果
     */
    public int deleteBaseAttachByAttachId(Long attachId);

    /**
     * 批量删除附件存储
     *
     * @param attachIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBaseAttachByAttachIds(Long[] attachIds);

    /**
     * 根据业务id和业务类型删除附件信息
     *
     * @param bizId   业务id
     * @param bizType 业务类型
     * @return delete size
     */
    int deleteByBizInfo(@Param("bizId") String bizId, @Param("bizType") String bizType);

    /**
     * 根据业务id和业务类型获取附件信息
     *
     * @param bizId   业务ID
     * @param bizType 业务类型
     * @return attach list
     */
    List<BaseAttach> getAttachListByBizInfo(@Param("bizId") String bizId, @Param("bizType") String bizType);
}
